package com.cn.wanxi.servlet;

import com.alibaba.fastjson.JSONObject;
import com.cn.wanxi.model.ResultModel;
import com.cn.wanxi.model.UserModel;
import com.cn.wanxi.service.UserService;
import com.cn.wanxi.service.impl.UserServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/login")
public class LoginServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//       怎么得到前端的值？
//        在spring里面有一个封装jar包，自动注入，IOC
//        UserModel userModel=req.getModel();
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String code = req.getParameter("code");
        String sessionCode = (String) req.getSession().getAttribute("vCode");
//      将值封装到UserModel userModel
        UserModel userModel = new UserModel();
        userModel.setUsername(username);
        userModel.setPassword(password);
        userModel.setSessionCode(sessionCode);
        userModel.setCode(code);
//        拿到值以后，需要对当前的验证码进行比对，
//        然后再根据用户名和密码到数据库里面取查询
//        根据查询的内容进行判断是否当前用户有权限登录
//        将最终结果返回给前端
//        调用服务逻辑层
        UserService userService = new UserServiceImpl();
//        根据执行的代码返回结果
//        以后，只要传递的两个参数意义一致，或者可以理解为一个对象，则直接用对象
        ResultModel resultModel = userService.login(userModel);
//        需要将返回结果返回给前端
// 因为Java和前端以后统一用json对象进行传递，所以需要将当前对象转换为json对象

        req.getSession().setAttribute("aa","fas");
        resp.getWriter().println(JSONObject.toJSONString(resultModel));


    }
}
